package com.enjoy.nio.buffer;

import java.nio.ByteBuffer;

public class BufferMain2 {
    /*compact方法*/
    public static void main(String[] args) {
        //默认写模式
        ByteBuffer byteBuffer = ByteBuffer.allocate(8);
        byteBuffer.put((byte) 'a');
        byteBuffer.put((byte) 'b');
        byteBuffer.put((byte) 'c');
        byteBuffer.put((byte) 'd');
        byteBuffer.put((byte) 'e');

        System.out.println("put a b c d e---> " + byteBuffer);
        // 切换为读模式
        byteBuffer.flip();
        System.out.println("byteBuffer.get() = " + byteBuffer.get());
        System.out.println("before compact " + byteBuffer);
        // 切换为写模式
        byteBuffer.compact();
        System.out.println("after compact" + byteBuffer);
        // 切换为读模式
        byteBuffer.flip();
        System.out.println(byteBuffer.remaining());
    }
}
